import { request } from '../api/request';

/**
 * 用户模块API
 */
const UserService = {
  /**
   * 用户注册（使用 JSON 请求体）
   * @param {Object} params - 注册参数
   */
  register(params) {
    return request({
      url: '/user/register',
      method: 'POST',
      data: params, // Spring Boot 支持 @RequestBody
      headers: {
        'Content-Type': 'application/json'
      }
    });
  },
 // 修改密码接口（需要传入 userId、oldPassword、newPassword）
 changePassword(params) {
  return request({
    url: '/user/change-password',
    method: 'POST',
    data: params,
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${wx.getStorageSync('token') || ''}`
    }
  });
},
  /**
   * 登录接口（JSON 格式）
   */
  login(params) {
    return request({
      url: '/user/login', // ✅ 修复路径
      method: 'POST',
      data: params,
      headers: {
        'Content-Type': 'application/json'
      }
    }).then(res => {
      if (res.code === 200 && res.data) {
        wx.setStorageSync('userInfo', res.data);
        if (res.data.token) {
          wx.setStorageSync('token', res.data.token);
        }
      }
      return res;
    });
  },
/**
   * 获取用户信息（根据用户ID）
   * @param {number} userId
   */
  getUserInfo(userId) {
    return request({
      url: `/user/${userId}`,
      method: 'GET',
      headers: {
        'Authorization': `Bearer ${wx.getStorageSync('token') || ''}`
      }
    });
  },

  /**
   * 更新用户信息
   * @param {number} userId
   * @param {Object} userData - 修改的数据，如 {nickname, city, province}
   */
  updateUser(userData) {
    return request({
      url: '/user/update',
      method: 'POST',
      data: userData,
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${wx.getStorageSync('token') || ''}`
      }
    });
  } ,

  /**
   * 用户登出：清除缓存
   */
  logout() {
    wx.removeStorageSync('userInfo');
    wx.removeStorageSync('token');
    return Promise.resolve();
  }
};

export default UserService;
